Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

188

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Ví dụ mục đích ...

for x in range(0,9):
    string'x' = "Hello"

Vì vậy, tôi kết thúc với String1, String2, String3 ... tất cả đều bằng "Xin chào"

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

cs95

349K87 Huy hiệu vàng641 Huy hiệu bạc689 Huy hiệu Đồng87 gold badges641 silver badges689 bronze badges

Khi được hỏi ngày 31 tháng 5 năm 2011 lúc 0:53May 31, 2011 at 0:53

7

Chắc chắn bạn có thể; nó được gọi là từ điển:

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
>>> d["string5"]
'Hello'
>>> d
{'string1': 'Hello',
 'string2': 'Hello',
 'string3': 'Hello',
 'string4': 'Hello',
 'string5': 'Hello',
 'string6': 'Hello',
 'string7': 'Hello',
 'string8': 'Hello',
 'string9': 'Hello'}

Tôi đã nói điều này một chút trong kiểm tra, nhưng thực sự là cách tốt nhất để liên kết một giá trị với giá trị khác là từ điển. Đó là những gì nó được thiết kế cho!

Georgy

10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 1:02May 31, 2011 at 1:02

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

Sói sóithe wolf

33K12 Huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng12 gold badges53 silver badges71 bronze badges

2

Đó thực sự là ý tưởng tồi, nhưng ...

for x in range(0, 9):
    globals()['string%s' % x] = 'Hello'

Và sau đó ví dụ:

print(string3)

sẽ cho bạn:

Hello

Tuy nhiên đây là thực hành xấu. Bạn nên sử dụng từ điển hoặc danh sách thay thế, như những người khác đề xuất. Trừ khi, tất nhiên, bạn thực sự muốn biết làm thế nào để làm điều đó, nhưng không muốn sử dụng nó.

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:58May 31, 2011 at 0:58

TadecktadeckTadeck

128K28 Huy hiệu vàng149 Huy hiệu bạc197 Huy hiệu đồng28 gold badges149 silver badges197 bronze badges

6

Một cách bạn có thể làm điều này là với

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
8. Ví dụ:

for k in range(5):
    exec(f'cat_{k} = k*2')
>>> print(cat_0)
0
>>> print(cat_1)
2
>>> print(cat_2)
4
>>> print(cat_3)
6
>>> print(cat_4)
8

Ở đây tôi đang tận dụng định dạng chuỗi F tiện dụng trong Python 3.6+

Georgy

10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 1:02Nov 6, 2017 at 22:33

Sói sóiCollin W.

33K12 Huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng4 silver badges3 bronze badges

1

Đó thực sự là ý tưởng tồi, nhưng ...

  • Và sau đó ví dụ:
  • sẽ cho bạn:
  • Tuy nhiên đây là thực hành xấu. Bạn nên sử dụng từ điển hoặc danh sách thay thế, như những người khác đề xuất. Trừ khi, tất nhiên, bạn thực sự muốn biết làm thế nào để làm điều đó, nhưng không muốn sử dụng nó.

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:58

Tadecktadeck

128K28 Huy hiệu vàng149 Huy hiệu bạc197 Huy hiệu đồngMay 31, 2011 at 1:30

Một cách bạn có thể làm điều này là với

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
8. Ví dụ:Jochen Ritzel

Ở đây tôi đang tận dụng định dạng chuỗi F tiện dụng trong Python 3.6+29 gold badges196 silver badges191 bronze badges

2

for x in range(9):
    exec("string" + str(x) + " = 'hello'")

Đã trả lời ngày 6 tháng 11 năm 2017 lúc 22:33

Georgy

10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 1:02May 21, 2019 at 11:55

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

Sói sói

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
0

33K12 Huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng

Đó thực sự là ý tưởng tồi, nhưng ...

Và sau đó ví dụ:Apr 12, 2017 at 17:15

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

sẽ cho bạn:

Tuy nhiên đây là thực hành xấu. Bạn nên sử dụng từ điển hoặc danh sách thay thế, như những người khác đề xuất. Trừ khi, tất nhiên, bạn thực sự muốn biết làm thế nào để làm điều đó, nhưng không muốn sử dụng nó.

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:58

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
2

Tadecktadeck

128K28 Huy hiệu vàng149 Huy hiệu bạc197 Huy hiệu đồng

Một cách bạn có thể làm điều này là với

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
8. Ví dụ:May 31, 2011 at 1:00

4

Ở đây tôi đang tận dụng định dạng chuỗi F tiện dụng trong Python 3.6+

Đã trả lời ngày 6 tháng 11 năm 2017 lúc 22:33

Collin W.Collin W.

4774 Huy hiệu bạc3 Huy hiệu đồng

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
3

Nó chỉ đơn giản là vô nghĩa để tạo tên biến biến. Tại sao?

BR123SW01

BR123SW02

BR123SW03

BR123SW04

BR123SW05

BR123SW06

BR123SW07

Chúng không cần thiết: bạn có thể lưu trữ mọi thứ trong danh sách, từ điển, v.v.Apr 5, 2019 at 12:40

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

Chúng rất khó để tạo ra: bạn phải sử dụng

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
9 hoặc
>>> d["string5"]
'Hello'
>>> d
{'string1': 'Hello',
 'string2': 'Hello',
 'string3': 'Hello',
 'string4': 'Hello',
 'string5': 'Hello',
 'string6': 'Hello',
 'string7': 'Hello',
 'string8': 'Hello',
 'string9': 'Hello'}
0

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
4

Bạn không thể sử dụng chúng: Làm thế nào để bạn viết mã sử dụng các biến này? Bạn phải sử dụng lại

>>> d["string5"]
'Hello'
>>> d
{'string1': 'Hello',
 'string2': 'Hello',
 'string3': 'Hello',
 'string4': 'Hello',
 'string5': 'Hello',
 'string6': 'Hello',
 'string7': 'Hello',
 'string8': 'Hello',
 'string9': 'Hello'}
1

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
5

Sử dụng danh sách dễ dàng hơn nhiều:

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
6

________số 8Apr 1, 2020 at 21:40

Hướng dẫn python dynamic variable name in loop - tên biến động python trong vòng lặp

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 1:30

d = {}
for x in range(1, 10):
    d["string{0}".format(x)] = "Hello"
7

Jochen Ritzeljochen RitzelJun 16, 2020 at 9:17

Làm thế nào để bạn tự động tạo các biến trong một vòng lặp trong python?

Việc tạo ra một tên biến động trong Python có thể đạt được với sự trợ giúp của phép lặp. Cùng với vòng lặp For, hàm Globals () cũng sẽ được sử dụng trong phương pháp này. Phương thức Globals () trong Python cung cấp đầu ra như một từ điển của bảng biểu tượng toàn cầu hiện tại.with the help of iteration. Along with the for loop, the globals() function will also be used in this method. The globals() method in Python provides the output as a dictionary of the current global symbol table.

Làm thế nào để bạn đặt tên cho một biến động trong Python?

Tạo một tên biến động trong Python bằng cách sử dụng cho hàm của Python Python () Globals () trả về một từ điển chứa bảng ký hiệu toàn cầu hiện tại.Trong Python, hàm FOR LOOP và GLOBALS () được sử dụng để xây dựng một tên biến động.Using for Loop Python's globals() function returns a dictionary containing the current global symbol table. In Python, the for loop and the globals() function are used to construct a dynamic variable name.

Bạn có thể tự động đặt tên một biến?

Trong lập trình, tên biến động không có tên cụ thể được mã hóa trong tập lệnh.Chúng được đặt tên động với các giá trị chuỗi từ các nguồn khác.They are named dynamically with string values from other sources.

Bạn có thể gán một biến cho một vòng lặp không?

Thông thường biến điều khiển A For For Loop chỉ cần cho các mục đích của vòng lặp và không được sử dụng ở nơi khác.Khi đây là trường hợp, có thể khai báo biến bên trong phần khởi tạo của FOR.it is possible to declare the variable inside the initialization portion of the for.