Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Tôi có một biến danh sách Python có chứa chuỗi. Có một chức năng nào có thể chuyển đổi tất cả các chuỗi trong một lần vượt qua thành chữ thường và ngược lại, chữ hoa không?

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Đã hỏi ngày 26 tháng 11 năm 2009 lúc 5:15Nov 26, 2009 at 5:15

1

Nó có thể được thực hiện với các toàn bộ danh sách

>>> [x.lower() for x in ["A", "B", "C"]]
['a', 'b', 'c']
>>> [x.upper() for x in ["a", "b", "c"]]
['A', 'B', 'C']

hoặc với chức năng

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
6

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:19Nov 26, 2009 at 5:19

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

BạnYOU

Huy hiệu vàng 117K3232 gold badges185 silver badges216 bronze badges

5

Bên cạnh việc dễ đọc hơn (đối với nhiều người), việc liệt kê toàn diện cũng giành được cuộc đua tốc độ:

$ python2.6 -m timeit '[x.lower() for x in ["A","B","C"]]'
1000000 loops, best of 3: 1.03 usec per loop
$ python2.6 -m timeit '[x.upper() for x in ["a","b","c"]]'
1000000 loops, best of 3: 1.04 usec per loop

$ python2.6 -m timeit 'map(str.lower,["A","B","C"])'
1000000 loops, best of 3: 1.44 usec per loop
$ python2.6 -m timeit 'map(str.upper,["a","b","c"])'
1000000 loops, best of 3: 1.44 usec per loop

$ python2.6 -m timeit 'map(lambda x:x.lower(),["A","B","C"])'
1000000 loops, best of 3: 1.87 usec per loop
$ python2.6 -m timeit 'map(lambda x:x.upper(),["a","b","c"])'
1000000 loops, best of 3: 1.87 usec per loop

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:54Nov 26, 2009 at 5:54

Ned Deily DeilyNed Deily

82K16 Huy hiệu vàng126 Huy hiệu bạc150 huy hiệu đồng16 gold badges126 silver badges150 bronze badges

5

>>> list(map(str.lower,["A","B","C"]))
['a', 'b', 'c']

Amit JS

1331 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:24Nov 26, 2009 at 5:24

ghostdog74ghostdog74ghostdog74

316K56 Huy hiệu vàng254 Huy hiệu bạc341 Huy hiệu Đồng56 gold badges254 silver badges341 bronze badges

2

Danh sách hiểu là cách tôi làm điều đó, đó là cách "Pythonic". Bảng điểm sau đây cho thấy cách chuyển đổi danh sách sang tất cả các trường hợp trên sau đó trở lại thấp hơn:

pax@paxbox7:~$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> x = ["one", "two", "three"] ; x
['one', 'two', 'three']

>>> x = [element.upper() for element in x] ; x
['ONE', 'TWO', 'THREE']

>>> x = [element.lower() for element in x] ; x
['one', 'two', 'three']

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:23Nov 26, 2009 at 5:23

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Paxdiablopaxdiablopaxdiablo

831K229 Huy hiệu vàng1550 Huy hiệu bạc1922 Huy hiệu Đồng229 gold badges1550 silver badges1922 bronze badges

5

Đối với mẫu này, sự hiểu biết là nhanh nhất

$ python -m timeit -s 's=["one","two","three"]*1000' '[x.upper for x in s]'
1000 loops, best of 3: 809 usec per loop

$ python -m timeit -s 's=["one","two","three"]*1000' 'map(str.upper,s)'
1000 loops, best of 3: 1.12 msec per loop

$ python -m timeit -s 's=["one","two","three"]*1000' 'map(lambda x:x.upper(),s)'
1000 loops, best of 3: 1.77 msec per loop

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:59Nov 26, 2009 at 5:59

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

John La Rooyjohn La RooyJohn La Rooy

Phù bằng vàng 287K5151 gold badges359 silver badges500 bronze badges

Một sinh viên hỏi, một sinh viên khác có cùng vấn đề trả lời :))

fruits=['orange', 'grape', 'kiwi', 'apple', 'mango', 'fig', 'lemon']
newList = []
for fruit in fruits:
    newList.append(fruit.upper())
print(newList)

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Anubis

6.61514 Huy hiệu vàng54 Huy hiệu bạc86 Huy hiệu Đồng14 gold badges54 silver badges86 bronze badges

Đã trả lời ngày 6 tháng 11 năm 2015 lúc 10:08Nov 6, 2015 at 10:08

CristinacristinaCristina

Huy hiệu 691 Bạc1 Huy hiệu Đồng1 silver badge1 bronze badge

mylist = ['Mixed Case One', 'Mixed Case Two', 'Mixed Three']
print(list(map(lambda x: x.lower(), mylist)))
print(list(map(lambda x: x.upper(), mylist)))

Techj

5072 Huy hiệu vàng5 Huy hiệu bạc15 Huy hiệu Đồng2 gold badges5 silver badges15 bronze badges

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:24Nov 26, 2009 at 5:24

316K56 Huy hiệu vàng254 Huy hiệu bạc341 Huy hiệu ĐồngChirael

Danh sách hiểu là cách tôi làm điều đó, đó là cách "Pythonic". Bảng điểm sau đây cho thấy cách chuyển đổi danh sách sang tất cả các trường hợp trên sau đó trở lại thấp hơn:4 gold badges28 silver badges28 bronze badges

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:23

Paxdiablopaxdiablo

valsLower = [item.lower() for item in vals]

831K229 Huy hiệu vàng1550 Huy hiệu bạc1922 Huy hiệu Đồng

Đối với mẫu này, sự hiểu biết là nhanh nhấtNov 19, 2019 at 19:02

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Đã trả lời ngày 26 tháng 11 năm 2009 lúc 5:59WhooNo

John La Rooyjohn La Rooy2 gold badges8 silver badges26 bronze badges

0

Solution:

>>> s = []
>>> p = ['This', 'That', 'There', 'is', 'apple']
>>> [s.append(i.lower()) if not i.islower() else s.append(i) for i in p]
>>> s
>>> ['this', 'that', 'there', 'is','apple']

Phù bằng vàng 287K51

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

Một sinh viên hỏi, một sinh viên khác có cùng vấn đề trả lời :))

Anubis13 gold badges48 silver badges61 bronze badges

6.61514 Huy hiệu vàng54 Huy hiệu bạc86 Huy hiệu ĐồngMay 31, 2018 at 8:24

Đã trả lời ngày 6 tháng 11 năm 2015 lúc 10:08Sunil

Cristinacristina1 gold badge7 silver badges25 bronze badges

Huy hiệu 691 Bạc1 Huy hiệu Đồng

Techj

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
0

5072 Huy hiệu vàng5 Huy hiệu bạc15 Huy hiệu ĐồngOct 16, 2018 at 0:18

ChirelelchiraelGimhani

2.9454 Huy hiệu vàng28 Huy hiệu bạc28 Huy hiệu đồng11 silver badges22 bronze badges

Một phiên bản đơn giản hơn nhiều của câu trả lời hàng đầu được đưa ra ở đây bởi @amorpheuses.

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
1

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

U12-Forward

Với danh sách các giá trị trong Val:13 gold badges79 silver badges99 bronze badges

Điều này hoạt động tốt cho tôi với nguồn văn bản f = open ().Feb 9, 2020 at 15:50

Đã trả lời ngày 19 tháng 11 năm 2019 lúc 19:02

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
2
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
3

WhoonowhoonoApr 25 at 8:21

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

7592 Huy hiệu vàng8 Huy hiệu bạc26 Huy hiệu đồng

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
4

output:

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
5

Giải pháp này sẽ tạo ra một danh sách riêng có chứa các mục viết thường, bất kể trường hợp ban đầu của chúng. Nếu trường hợp ban đầu là trên thì

>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
7 sẽ chứa chữ thường của mục tương ứng trong
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
8. Nếu trường hợp ban đầu của mục danh sách đã là chữ thường trong
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
8 thì
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
7 sẽ giữ lại trường hợp của mục và giữ nó ở chữ thường. Bây giờ bạn có thể sử dụng
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
7 thay vì
>>> list(map(lambda x: x.lower(), ["A", "B", "C"]))
['a', 'b', 'c']
>>> list(map(lambda x: x.upper(), ["a", "b", "c"]))
['A', 'B', 'C']
8.Oct 30, 2019 at 9:29

Hướng dẫn how do you capitalize all elements in a string python? - làm thế nào để bạn viết hoa tất cả các phần tử trong một chuỗi python?

AdysonAaditya Ura

54.5K13 Huy hiệu vàng48 Huy hiệu bạc61 Huy hiệu đồng7 gold badges45 silver badges79 bronze badges